package com.ruoyi.produce.process.productionLine.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.sql.Timestamp;

/**
 * 产线，数据传输对象，面向前端需求
 * @author lsy 2021.8.12
 * 修改：
 */
@Data
public class ProductionLineDto {
    /**
     * 产线编号（自增）
     */
    @ApiModelProperty(value = "产线编号", required = true)
    private int productionLineId;

    /**
     * 产线名称
     */
    @ApiModelProperty("产线名称")
    private String productionLineName;

    /**
     * 加工单编号
     */
    @ApiModelProperty(value = "加工单编号")
    private String workSheetId;

    /**
     * 产品编号
     */
    @ApiModelProperty("产品编号")
    private String produceId;

    /**
     * 产品名称
     */
    @ApiModelProperty("产品名称")
    @Excel(name = "产品名称")
    private String produceName;

    /**
     * 类别编号
     */
    @ApiModelProperty("类别编号")
    @Excel(name = "类别编号")
    private String baseCategoryId;

    /**
     * 类别名称
     */
    @ApiModelProperty("类别名称")
    @Excel(name = "类别名称")
    private String baseCategoryName;

    /**
     * 计量单位编号
     */
    @ApiModelProperty("计量单位编号")
    @Excel(name = "计量单位编号")
    private String baseUnitId;

    /**
     * 计量单位名称
     */
    @ApiModelProperty("计量单位名称")
    @Excel(name = "计量单位名称")
    private String baseUnit;

    /**
     * 产品规格
     */
    @ApiModelProperty("产品规格")
    @Excel(name = "产品规格")
    private String produceSpecs;

    /**
     * 产品品牌
     */
    @ApiModelProperty("产品品牌")
    @Excel(name = "产品品牌")
    private String produceBrand;

    /**
     * 产线状态
     * 0：正常
     * 1：搁置
     * 2：停止
     * 3：完成
     */
    @ApiModelProperty(value = "产线状态")
    private String productionLineStatus;

    /**
     * 计划开始时间
     */
    @ApiModelProperty("计划开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Timestamp createTime;
    /**
     * 计划结束时间
     */
    @ApiModelProperty(value = "计划结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Timestamp endTime;

    /**
     * 计划完成数量
     */
    @ApiModelProperty("计划完成数量")
    private double workSheetNumber;

    /**
     * 实际开始时间
     */
    @ApiModelProperty("实际开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Timestamp actuallyStartTime;

    /**
     * 实际结束时间
     */
    @ApiModelProperty("实际结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Timestamp actuallyEndTime;

    /**
     * 实际完成数
     */
    @ApiModelProperty("实际完成数")
    private double actuallyCompletedNumber;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String remark;
}
